// samsting : this file is auto create.

#include "Ecs/2014-05-26/DescribeSnapshotsResponse.h"

namespace aliyun { namespace Ecs {

DescribeSnapshotsResponse::DescribeSnapshotsResponse() {
}

const string& DescribeSnapshotsResponse::Snapshot::Tag::GetTagKey(void) const {
  return TagKey_;
}

const string& DescribeSnapshotsResponse::Snapshot::Tag::GetTagValue(void) const {
  return TagValue_;
}

const std::vector<DescribeSnapshotsResponse::Snapshot::Tag>& DescribeSnapshotsResponse::Snapshot::GetTags(void) const {
  return Tags_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetSnapshotId(void) const {
  return SnapshotId_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetSnapshotName(void) const {
  return SnapshotName_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetProgress(void) const {
  return Progress_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetProductCode(void) const {
  return ProductCode_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetSourceDiskId(void) const {
  return SourceDiskId_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetSourceDiskType(void) const {
  return SourceDiskType_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetSourceDiskSize(void) const {
  return SourceDiskSize_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetDescription(void) const {
  return Description_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetCreationTime(void) const {
  return CreationTime_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetStatus(void) const {
  return Status_;
}

const string& DescribeSnapshotsResponse::Snapshot::GetUsage(void) const {
  return Usage_;
}

const std::vector<DescribeSnapshotsResponse::Snapshot>& DescribeSnapshotsResponse::GetSnapshots(void) const {
  return Snapshots_;
}

int DescribeSnapshotsResponse::GetTotalCount(void) const {
  return TotalCount_;
}

int DescribeSnapshotsResponse::GetPageNumber(void) const {
  return PageNumber_;
}

int DescribeSnapshotsResponse::GetPageSize(void) const {
  return PageSize_;
}

const char* DescribeSnapshotsResponse::BaseKey(void) {
  return "DescribeSnapshotsResponse";
}

void DescribeSnapshotsResponse::UnmarshallerMap(std::map<string, string>& response_map) {
  int Snapshots__length = 0;
  UnmarshallerInt(Snapshots__length, response_map, "DescribeSnapshotsResponse.Snapshots.Length");
  if(Snapshots__length >= 0) {
    Snapshots_.resize(Snapshots__length);
    for(int i1 = 0; i1 < Snapshots__length; i1++) {
      int Snapshots_i1_Tags__length = 0;
      UnmarshallerInt(Snapshots_i1_Tags__length, response_map, "DescribeSnapshotsResponse.Snapshots[+"+string_ValueOfInt(i1)+"].Tags.Length");
      if(Snapshots_i1_Tags__length >= 0) {
        Snapshots_[i1].Tags_.resize(Snapshots_i1_Tags__length);
        for(int i2 = 0; i2 < Snapshots_i1_Tags__length; i2++) {
          UnmarshallerString(Snapshots_[i1].Tags_[i2].TagKey_, response_map, "DescribeSnapshotsResponse.Snapshots[+"+string_ValueOfInt(i1)+"].Tags["+string_ValueOfInt(i2)+"].TagKey");
          UnmarshallerString(Snapshots_[i1].Tags_[i2].TagValue_, response_map, "DescribeSnapshotsResponse.Snapshots[+"+string_ValueOfInt(i1)+"].Tags["+string_ValueOfInt(i2)+"].TagValue");
        } // for(int i2 = 0; i2 < Snapshots_i1_Tags__length; i2++) {
      } // if(Snapshots_i1_Tags__length >= 0) {

      UnmarshallerString(Snapshots_[i1].SnapshotId_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].SnapshotId");
      UnmarshallerString(Snapshots_[i1].SnapshotName_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].SnapshotName");
      UnmarshallerString(Snapshots_[i1].Progress_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].Progress");
      UnmarshallerString(Snapshots_[i1].ProductCode_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].ProductCode");
      UnmarshallerString(Snapshots_[i1].SourceDiskId_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].SourceDiskId");
      UnmarshallerString(Snapshots_[i1].SourceDiskType_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].SourceDiskType");
      UnmarshallerString(Snapshots_[i1].SourceDiskSize_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].SourceDiskSize");
      UnmarshallerString(Snapshots_[i1].Description_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].Description");
      UnmarshallerString(Snapshots_[i1].CreationTime_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].CreationTime");
      UnmarshallerString(Snapshots_[i1].Status_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].Status");
      UnmarshallerString(Snapshots_[i1].Usage_, response_map, "DescribeSnapshotsResponse.Snapshots["+string_ValueOfInt(i1)+"].Usage");
    } // for(int i1 = 0; i1 < Snapshots__length; i1++) {
  } // if(Snapshots__length >= 0) {

  UnmarshallerInt(TotalCount_, response_map, "DescribeSnapshotsResponse.TotalCount");
  UnmarshallerInt(PageNumber_, response_map, "DescribeSnapshotsResponse.PageNumber");
  UnmarshallerInt(PageSize_, response_map, "DescribeSnapshotsResponse.PageSize");
}


} } // namespace aliyun { namespace Ecs {

// end of file 
